Erasure codes such as Random Linear Network Coding (RLNC) select coding coefficients randomly, and employ functional repair. These codes typically provide reasonable probabilistic guarantees that data can be recovered from distributed storage nodes if a certain number of storage nodes are unavailable. However, if such codes are to be employed in environments where even a small chance of data loss is unacceptable, a mechanism is needed to provide stronger guarantees for data survival. Such a mechanism should also eliminate delays in accessing data caused by a non-invertible encoding matrix. To guarantee that a repair maintains the property that data can be recovered even if L out of N of the storage nodes are unavailable, combinations of (N-L) out of N matrices should be checked for every single repair strategy. The most basic form of a checking mechanism involves calculating the rank of a part, or all, of potential decoding matrices. Each matrix check is an order of computation O(n3) operation. This is a computationally intensive process that puts a strain on the system and potentially delays the repair of lost data.